package com.hxkcloud.patient.utils;

import android.content.Context;
import android.graphics.Bitmap;
import android.widget.ImageView;


import com.hxkcloud.patient.R;
import com.hxkcloud.patient.httpcache.HttpImageLoader;
import com.hxkcloud.patient.httpcache.HttpImageLoaderHandler;

import java.io.File;

/**
 * 图片远程加载
 * 
 * @author AlexHuang
 * @email huangyu407@qq.com
 */
public class IL {

	public static void displayImage(Context context, String url,
                                    ImageView imageView) {
		getImageLoader(context).displayImage(url, imageView);
	}

	public static void displayImage(Context context, String url,
                                    ImageView imageView, int defaultPicRes) {
		getImageLoader(context,defaultPicRes).displayImage(url, imageView);
	}

	public static void displayImage(Context context, String url,
                                    ImageView imageView, HttpImageLoaderHandler handler) {
		getImageLoader(context).displayImage(url, imageView, handler);
	}

	public static Bitmap getBitmap(Context context, String url) {
		return getImageLoader(context).getBitmap(url);
	}

	public static File loadAndGetFile(Context context, String url) {
		getImageLoader(context).getBitmap(url);
		return getImageLoader(context).loadAndGetFile(url);
	}

	public static void clearCache(Context context) {
		getImageLoader(context).clearCache();
	}

	private static HttpImageLoader imageLoader;

	public static synchronized HttpImageLoader getImageLoader(Context context, int defalutPicRes) {
		if (imageLoader != null){
			imageLoader.setDefaultImage(defalutPicRes);
			return imageLoader;
		}

		imageLoader = new HttpImageLoader(context, defalutPicRes);
		return imageLoader;
	}


	public static synchronized HttpImageLoader getImageLoader(Context context) {
		if (imageLoader != null){
			imageLoader.setDefaultImage(R.mipmap.ic_launcher);
			return imageLoader;
		}

		imageLoader = new HttpImageLoader(context, R.mipmap.ic_launcher);
		return imageLoader;
	}
}
